package com.eduplatform.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.eduplatform.dto.QuestionDTO;
import com.eduplatform.entity.Question;

/**
 * 试题Service接口
 */
public interface QuestionService extends IService<Question> {

    /**
     * 分页查询试题列表
     *
     * @param page           页码
     * @param size           每页大小
     * @param type           题目类型
     * @param difficulty     难度
     * @param subjectId      学科ID
     * @param educationLevel 教育阶段
     * @param keyword        关键词
     * @return 分页结果
     */
    IPage<QuestionDTO> pageQuestions(int page, int size, Integer type, Integer difficulty,
            Long subjectId, Integer educationLevel, String keyword);

    /**
     * 获取试题详情
     *
     * @param id 试题ID
     * @return 试题详情
     */
    QuestionDTO getQuestionDetail(Long id);

    /**
     * 添加试题
     *
     * @param questionDTO 试题信息
     * @return 是否成功
     */
    boolean addQuestion(QuestionDTO questionDTO);

    /**
     * 更新试题
     *
     * @param questionDTO 试题信息
     * @return 是否成功
     */
    boolean updateQuestion(QuestionDTO questionDTO);

    /**
     * 删除试题
     *
     * @param id 试题ID
     * @return 是否成功
     */
    boolean deleteQuestion(Long id);
}